|
@@ -108,7 +108,7 @@ export default {
|
|
|
this.loading = false;
|
|
|
}
|
|
|
},
|
|
|
- // 退回请购
|
|
|
+ // 退回需求
|
|
|
async handleDocumentsReturn(prop) {
|
|
|
const { setVisible, beforeOpenDoSome } = this.$refs.DocReturnDialog;
|
|
|
await setVisible(true);
|
|
@@ -148,131 +148,50 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
- <el-card
|
|
|
- v-loading="loading"
|
|
|
- style="width: calc(100% - 24px); height: 100%; margin: 10px"
|
|
|
- :body-style="{ padding: 0 }"
|
|
|
- >
|
|
|
+ <el-card v-loading="loading" style="width: calc(100% - 24px); height: 100%; margin: 10px" :body-style="{ padding: 0 }">
|
|
|
<see-dialog ref="SeeDialog"></see-dialog>
|
|
|
<first-direct-dialog ref="FirstDirectDialog"></first-direct-dialog>
|
|
|
<doc-return-dialog ref="DocReturnDialog"></doc-return-dialog>
|
|
|
<modify-buyer-dialog ref="ModifyBuyerDialog"></modify-buyer-dialog>
|
|
|
- <el-form
|
|
|
- :size="size"
|
|
|
- :model="params"
|
|
|
- label-width="75px"
|
|
|
- label-position="right"
|
|
|
- >
|
|
|
+ <el-form :size="size" :model="params" label-width="75px" label-position="right">
|
|
|
<el-row :gutter="24" style="padding: 20px 20px">
|
|
|
- <el-col
|
|
|
- v-for="column in searchColumns"
|
|
|
- :key="column.title"
|
|
|
- :xl="4"
|
|
|
- :lg="6"
|
|
|
- :md="8"
|
|
|
- :sm="12"
|
|
|
- :xs="24"
|
|
|
- >
|
|
|
- <el-form-item
|
|
|
- v-if="column.inputType === 'Input'"
|
|
|
- :prop="column.key"
|
|
|
- :label="column.title"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="params[column.key]"
|
|
|
- :placeholder="column.placeholder"
|
|
|
- ></el-input>
|
|
|
+ <el-col v-for="column in searchColumns" :key="column.title" :xl="4" :lg="6" :md="8" :sm="12" :xs="24">
|
|
|
+ <el-form-item v-if="column.inputType === 'Input'" :prop="column.key" :label="column.title">
|
|
|
+ <el-input v-model="params[column.key]" :placeholder="column.placeholder"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- v-if="column.inputType === 'Select'"
|
|
|
- :prop="column.key"
|
|
|
- :label="column.title"
|
|
|
- >
|
|
|
- <el-select
|
|
|
- v-model="params[column.key]"
|
|
|
- :disabled="column.disabled"
|
|
|
- :clearable="column.clearable"
|
|
|
- :placeholder="column.placeholder"
|
|
|
- style="width: 100%"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in dict.type[column.referName]"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- >
|
|
|
+ <el-form-item v-if="column.inputType === 'Select'" :prop="column.key" :label="column.title">
|
|
|
+ <el-select v-model="params[column.key]" :disabled="column.disabled" :clearable="column.clearable"
|
|
|
+ :placeholder="column.placeholder" style="width: 100%">
|
|
|
+ <el-option v-for="item in dict.type[column.referName]" :key="item.value" :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- v-if="column.inputType === 'DatePicker'"
|
|
|
- :prop="column.key"
|
|
|
- :label="column.title"
|
|
|
- >
|
|
|
- <el-date-picker
|
|
|
- v-model="params[column.key]"
|
|
|
- :type="column.type"
|
|
|
- :placeholder="column.placeholder"
|
|
|
- :value-format="column.valueFormat"
|
|
|
- :unlink-panels="column.unlinkPanels"
|
|
|
- :picker-options="column.pickerOptions"
|
|
|
- :range-separator="column.rangeSeparator"
|
|
|
- :end-placeholder="column.endPlaceholder"
|
|
|
- :start-placeholder="column.startPlaceholder"
|
|
|
- style="width: 100%"
|
|
|
- >
|
|
|
+ <el-form-item v-if="column.inputType === 'DatePicker'" :prop="column.key" :label="column.title">
|
|
|
+ <el-date-picker v-model="params[column.key]" :type="column.type" :placeholder="column.placeholder"
|
|
|
+ :value-format="column.valueFormat" :unlink-panels="column.unlinkPanels"
|
|
|
+ :picker-options="column.pickerOptions" :range-separator="column.rangeSeparator"
|
|
|
+ :end-placeholder="column.endPlaceholder" :start-placeholder="column.startPlaceholder" style="width: 100%">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- v-if="column.inputType === 'PopoverSelect'"
|
|
|
- :prop="column.key"
|
|
|
- :label="column.title"
|
|
|
- >
|
|
|
- <dr-popover-select
|
|
|
- v-model="params[column.key]"
|
|
|
- :source.sync="params"
|
|
|
- :title="column.title"
|
|
|
- :type="column.referName"
|
|
|
- :multiple="column.multiple"
|
|
|
- :value-key="column.valueKey"
|
|
|
- :placeholder="column.placeholder"
|
|
|
- :data-mapping="column.dataMapping"
|
|
|
- :query-params="column.queryParams(params)"
|
|
|
- >
|
|
|
+ <el-form-item v-if="column.inputType === 'PopoverSelect'" :prop="column.key" :label="column.title">
|
|
|
+ <dr-popover-select v-model="params[column.key]" :source.sync="params" :title="column.title"
|
|
|
+ :type="column.referName" :multiple="column.multiple" :value-key="column.valueKey"
|
|
|
+ :placeholder="column.placeholder" :data-mapping="column.dataMapping"
|
|
|
+ :query-params="column.queryParams(params)">
|
|
|
</dr-popover-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- v-if="column.inputType === 'PopoverTreeSelect'"
|
|
|
- :prop="column.key"
|
|
|
- :label="column.title"
|
|
|
- >
|
|
|
- <dr-popover-tree-select
|
|
|
- v-model="params[column.key]"
|
|
|
- :source.sync="params"
|
|
|
- :title="column.title"
|
|
|
- :type="column.referName"
|
|
|
- :multiple="column.multiple"
|
|
|
- :value-key="column.valueKey"
|
|
|
- :placeholder="column.placeholder"
|
|
|
- :data-mapping="column.dataMapping"
|
|
|
- :query-params="column.queryParams(params)"
|
|
|
- >
|
|
|
+ <el-form-item v-if="column.inputType === 'PopoverTreeSelect'" :prop="column.key" :label="column.title">
|
|
|
+ <dr-popover-tree-select v-model="params[column.key]" :source.sync="params" :title="column.title"
|
|
|
+ :type="column.referName" :multiple="column.multiple" :value-key="column.valueKey"
|
|
|
+ :placeholder="column.placeholder" :data-mapping="column.dataMapping"
|
|
|
+ :query-params="column.queryParams(params)">
|
|
|
</dr-popover-tree-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xl="4" :lg="6" :md="8" :sm="12" :xs="24">
|
|
|
- <el-button
|
|
|
- circle
|
|
|
- :size="size"
|
|
|
- icon="el-icon-search"
|
|
|
- @click="handleQueryList(params, page)"
|
|
|
- ></el-button>
|
|
|
- <el-button
|
|
|
- circle
|
|
|
- :size="size"
|
|
|
- icon="el-icon-refresh"
|
|
|
- @click="handleResetList(params, page)"
|
|
|
- ></el-button>
|
|
|
+ <el-button circle :size="size" icon="el-icon-search" @click="handleQueryList(params, page)"></el-button>
|
|
|
+ <el-button circle :size="size" icon="el-icon-refresh" @click="handleResetList(params, page)"></el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
@@ -281,19 +200,11 @@ export default {
|
|
|
<el-button :size="size" @click="handleExport(params, page)">
|
|
|
导 出
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- :size="size"
|
|
|
- :disabled="selectData.length !== 1"
|
|
|
- @click="handleModifyBuyer(selectData[0])"
|
|
|
- >
|
|
|
+ <el-button :size="size" :disabled="selectData.length !== 1" @click="handleModifyBuyer(selectData[0])">
|
|
|
转 派
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- :size="size"
|
|
|
- :disabled="!selectData.length"
|
|
|
- @click="handleDocumentsReturn(selectData)"
|
|
|
- >
|
|
|
- 退回请购
|
|
|
+ <el-button :size="size" :disabled="!selectData.length" @click="handleDocumentsReturn(selectData)">
|
|
|
+ 退回需求
|
|
|
</el-button>
|
|
|
<!-- <el-button
|
|
|
:size="size"
|
|
@@ -302,53 +213,27 @@ export default {
|
|
|
>
|
|
|
行关闭
|
|
|
</el-button> -->
|
|
|
- <el-button
|
|
|
- :size="size"
|
|
|
- :disabled="!selectData.length"
|
|
|
- @click="handleOpenFristDirectDrawer(selectData)"
|
|
|
- >
|
|
|
+ <el-button :size="size" :disabled="!selectData.length" @click="handleOpenFristDirectDrawer(selectData)">
|
|
|
协议直采
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-table
|
|
|
- :data="tableData"
|
|
|
- size="mini"
|
|
|
- style="width: 100%; margin: 20px 0 0 0"
|
|
|
- @row-dblclick="handleOpenSeeDrawer"
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
- >
|
|
|
+ <el-table :data="tableData" size="mini" style="width: 100%; margin: 20px 0 0 0" @row-dblclick="handleOpenSeeDrawer"
|
|
|
+ @selection-change="handleSelectionChange">
|
|
|
<el-table-column fixed width="55" align="center" type="selection">
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- v-for="(column, index) in tableColumns"
|
|
|
- :key="index"
|
|
|
- :prop="column.key"
|
|
|
- :label="column.title"
|
|
|
- :width="column.width || 180"
|
|
|
- :show-overflow-tooltip="column.showOverflowTooltip || true"
|
|
|
- >
|
|
|
+ <el-table-column v-for="(column, index) in tableColumns" :key="index" :prop="column.key" :label="column.title"
|
|
|
+ :width="column.width || 180" :show-overflow-tooltip="column.showOverflowTooltip || true">
|
|
|
<template slot-scope="scope">
|
|
|
- <dict-tag
|
|
|
- v-if="column.referName"
|
|
|
- :size="size"
|
|
|
- :value="scope.row[column.key]"
|
|
|
- :options="dict.type[column.referName]"
|
|
|
- />
|
|
|
+ <dict-tag v-if="column.referName" :size="size" :value="scope.row[column.key]"
|
|
|
+ :options="dict.type[column.referName]" />
|
|
|
<span v-else>{{ scope.row[column.key] }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <el-pagination
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- :total="page.total"
|
|
|
- :page-sizes="pageSizes"
|
|
|
- :page-size="page.pageSize"
|
|
|
- :current-page="page.pageNum"
|
|
|
- hide-on-single-page
|
|
|
- layout="total, prev, pager, next, sizes, jumper"
|
|
|
- >
|
|
|
+ <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :total="page.total"
|
|
|
+ :page-sizes="pageSizes" :page-size="page.pageSize" :current-page="page.pageNum" hide-on-single-page
|
|
|
+ layout="total, prev, pager, next, sizes, jumper">
|
|
|
</el-pagination>
|
|
|
</el-card>
|
|
|
</template>
|