|
@@ -13,8 +13,12 @@ export default {
|
|
|
name: "PuchaseTask",
|
|
|
dicts: initDicts(TableColumns),
|
|
|
components: {
|
|
|
+ DrInputDialog: () =>
|
|
|
+ import("@/components/popover-multiple-select/index.vue"),
|
|
|
SeeDrawer: () => import("./see/index.vue"),
|
|
|
FirstDirectDrawer: () => import("./first-direct/index.vue"),
|
|
|
+ DocumentsReturnDialog: () => import("./documents-return/index.vue"),
|
|
|
+ ModifyBuyerDialog: () => import("./modify-buyer/index.vue"),
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -91,7 +95,7 @@ export default {
|
|
|
handleSelectionChange(prop) {
|
|
|
this.selectData = prop;
|
|
|
},
|
|
|
- // 行删除
|
|
|
+ // 行关闭
|
|
|
async handleShutDown(prop) {
|
|
|
try {
|
|
|
this.loading = true;
|
|
@@ -99,6 +103,7 @@ export default {
|
|
|
const { code, msg } = await SHUTDOWN(demandItemId);
|
|
|
if (code === 200) {
|
|
|
this.$notify.success({ title: msg });
|
|
|
+ await this.handleQueryList();
|
|
|
} else {
|
|
|
this.$notify.warning({ title: msg });
|
|
|
}
|
|
@@ -108,18 +113,31 @@ export default {
|
|
|
this.loading = false;
|
|
|
}
|
|
|
},
|
|
|
+ // 退回请购
|
|
|
+ async handleDocumentsReturn(prop) {
|
|
|
+ const { setVisible, beforeOpenDoSome } = this.$refs.DocumentsReturnDialog;
|
|
|
+ await setVisible(true);
|
|
|
+ await beforeOpenDoSome(prop);
|
|
|
+ },
|
|
|
+ // 转派
|
|
|
+ async handleModifyBuyer(prop) {
|
|
|
+ const { id } = prop;
|
|
|
+ const { setVisible, beforeOpenDoSome } = this.$refs.ModifyBuyerDialog;
|
|
|
+ await setVisible(true);
|
|
|
+ await beforeOpenDoSome(id);
|
|
|
+ },
|
|
|
// 打开查看drawer
|
|
|
async handleOpenSeeDrawer(prop) {
|
|
|
const { id } = prop;
|
|
|
- const { setVisible, fetchItem } = this.$refs.SeeDrawerFef;
|
|
|
+ const { setVisible, beforeOpenDoSome } = this.$refs.SeeDrawerFef;
|
|
|
await setVisible(true);
|
|
|
- await fetchItem(id);
|
|
|
+ await beforeOpenDoSome(id);
|
|
|
},
|
|
|
// 打开首次直采drawer
|
|
|
async handleOpenFristDirectDrawer(prop) {
|
|
|
- const { setVisible, fetchItem } = this.$refs.FirstDirectDrawerRef;
|
|
|
+ const { setVisible, beforeOpenDoSome } = this.$refs.FirstDirectDrawerRef;
|
|
|
await setVisible(true);
|
|
|
- await fetchItem(prop);
|
|
|
+ await beforeOpenDoSome(prop);
|
|
|
},
|
|
|
},
|
|
|
};
|
|
@@ -133,6 +151,10 @@ export default {
|
|
|
>
|
|
|
<see-drawer ref="SeeDrawerFef"></see-drawer>
|
|
|
<first-direct-drawer ref="FirstDirectDrawerRef"></first-direct-drawer>
|
|
|
+ <documents-return-dialog
|
|
|
+ ref="DocumentsReturnDialog"
|
|
|
+ ></documents-return-dialog>
|
|
|
+ <modify-buyer-dialog ref="ModifyBuyerDialog"></modify-buyer-dialog>
|
|
|
<el-form :size="size" label-position="top" :model="params">
|
|
|
<el-row :gutter="24" style="padding: 0 20px">
|
|
|
<el-col
|
|
@@ -175,6 +197,34 @@ export default {
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ v-if="column.type === 'DatePicker'"
|
|
|
+ :prop="column.key"
|
|
|
+ :label="column.title"
|
|
|
+ >
|
|
|
+ <el-date-picker
|
|
|
+ v-model="params[column.key]"
|
|
|
+ :type="column.config.type"
|
|
|
+ :placeholder="column.placeholder"
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ v-if="column.type === 'InputDialog'"
|
|
|
+ :prop="column.key"
|
|
|
+ :label="column.title"
|
|
|
+ >
|
|
|
+ <dr-input-dialog
|
|
|
+ v-model="params[column.key]"
|
|
|
+ :placeholder="column.placeholder"
|
|
|
+ :title="column.title"
|
|
|
+ :type="column.config.componentName"
|
|
|
+ :data-mapping="column.config.dataMapping"
|
|
|
+ :source.sync="params"
|
|
|
+ >
|
|
|
+ </dr-input-dialog>
|
|
|
+ </el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
@@ -191,23 +241,23 @@ export default {
|
|
|
<el-button
|
|
|
:size="size"
|
|
|
:disabled="selectData.length !== 1"
|
|
|
- @click="handleShutDown(selectData[0])"
|
|
|
+ @click="handleModifyBuyer(selectData[0])"
|
|
|
>
|
|
|
- 分配
|
|
|
+ 转 派
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
:size="size"
|
|
|
- :disabled="selectData.length !== 1"
|
|
|
- @click="handleShutDown(selectData[0])"
|
|
|
+ :disabled="!selectData.length"
|
|
|
+ @click="handleDocumentsReturn(selectData)"
|
|
|
>
|
|
|
- 退回需求
|
|
|
+ 退回请购
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
:size="size"
|
|
|
:disabled="selectData.length !== 1"
|
|
|
@click="handleShutDown(selectData[0])"
|
|
|
>
|
|
|
- 行删除
|
|
|
+ 行关闭
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
:size="size"
|
|
@@ -216,87 +266,6 @@ export default {
|
|
|
>
|
|
|
协议直采
|
|
|
</el-button>
|
|
|
- <!-- <el-button
|
|
|
- size="mini"
|
|
|
- type="danger"
|
|
|
- style="margin: 0 10px 0 0"
|
|
|
- @click="handleOpenAddDrawer"
|
|
|
- >
|
|
|
- 新增
|
|
|
- </el-button>
|
|
|
- <el-dropdown placement="bottom-start">
|
|
|
- <el-button size="mini" style="margin: 0 10px 0 0">
|
|
|
- 发布
|
|
|
- <i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
- </el-button>
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item>发布寻源</el-dropdown-item>
|
|
|
- <el-dropdown-item>发布委托</el-dropdown-item>
|
|
|
- <el-dropdown-item>采购方案</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
-
|
|
|
- <el-dropdown placement="bottom-start">
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- style="border-right: 0; border-radius: 3px 0 0 3px"
|
|
|
- >
|
|
|
- 首次协议直采
|
|
|
- <i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
- </el-button>
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item>首次协议直采</el-dropdown-item>
|
|
|
- <el-dropdown-item>余量协议直采</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
- <el-dropdown placement="bottom-start">
|
|
|
- <el-button size="mini" style="border-right: 0; border-radius: 0">
|
|
|
- 跟单采购
|
|
|
- <i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
- </el-button>
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item>按合同(普通)取价</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
- <el-button size="mini" style="border-right: 0; border-radius: 0">
|
|
|
- Excel导出
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- style="margin: 0; border-right: 0; border-radius: 0"
|
|
|
- >
|
|
|
- 退回请购
|
|
|
- </el-button>
|
|
|
- <el-dropdown placement="bottom-start">
|
|
|
- <el-button size="mini" style="border-right: 0; border-radius: 0">
|
|
|
- 清单采购
|
|
|
- <i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
- </el-button>
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item>商超匹配下单</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- disabled
|
|
|
- style="margin: 0 10px 0 0; border-radius: 0 3px 3px 0"
|
|
|
- >
|
|
|
- 一键合同下单
|
|
|
- </el-button>
|
|
|
- <el-button size="mini" style="margin: 0 10px 0 0">删除</el-button>
|
|
|
- <el-dropdown placement="bottom-end">
|
|
|
- <el-button size="mini">
|
|
|
- 更多
|
|
|
- <i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
- </el-button>
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item>抢单</el-dropdown-item>
|
|
|
- <el-dropdown-item>批量修改收货组织</el-dropdown-item>
|
|
|
- <el-dropdown-item>批量退回</el-dropdown-item>
|
|
|
- <el-dropdown-item>退回需求申请</el-dropdown-item>
|
|
|
- <el-dropdown-item>刷新缓存</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown> -->
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-table
|
|
@@ -316,6 +285,14 @@ export default {
|
|
|
:width="column.width || 180"
|
|
|
:show-overflow-tooltip="column.showOverflowTooltip || true"
|
|
|
>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <dict-tag
|
|
|
+ v-if="column.type === 'Select'"
|
|
|
+ :value="scope.row[column.key]"
|
|
|
+ :options="dict.type[column.config.optionsName]"
|
|
|
+ />
|
|
|
+ <span v-else>{{ scope.row[column.key] }}</span>
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<el-pagination
|