问题修改

dev-scheduling
zhangdi 1 week ago
parent dfb4009335
commit 6883ec1069
  1. 43
      src/api/basicData/bsPlanAssignSteerModify.js
  2. 195
      src/views/basicData/bsPlanAssignSteerModify/addEditDialog.vue
  3. 82
      src/views/basicData/bsPlanAssignSteerModify/checkDialog.vue
  4. 138
      src/views/basicData/bsPlanAssignSteerModify/index.vue

@ -12,3 +12,46 @@ export const getList = (current, size, params) => {
},
});
};
// 删除
export const remove = (params) => {
return request({
url: '/blade-desk/quality/planAssignSteerModify/remove',
method: 'post',
params: params
});
};
// 修改 /
export const update = (data) => {
return request({
url: '/blade-desk/quality/planAssignSteerModify/update',
method: 'post',
data: data
});
};
// 新增
export const save = (data) => {
return request({
url: '/blade-desk/quality/planAssignSteerModify/save',
method: 'post',
data: data
});
};
// 发送审批
export const submitApproval = (data) => {
return request({
url: '/blade-desk/quality/planAssignSteerModify/submitApproval',
method: 'post',
data: data
});
};
// 审批记录
export const auditHistory = (id) => {
return request({
url: '/blade-desk/quality/planAssignSteerModify/auditHistory/' + id,
method: 'get',
});
};

@ -1,6 +1,94 @@
<template>
<el-dialog :title="title" append-to-body :modelValue="openShow" width="30%" @close="closeDialog">
<el-dialog :title="title" append-to-body :modelValue="openShow" width="60%" @close="closeDialog">
<el-form ref="form" :model="formData" :rules="rules" label-width="90px" class="vd-form-row">
<el-row>
<el-col :span="8">
<el-form-item label="申请时间:" prop="createTime">
<el-input v-model="formData.createTime" type="String" disabled /> </el-form-item
></el-col>
<el-col :span="8"
><el-form-item label="申请人:" prop="createMan">
<el-input v-model="formData.createMan" type="String" disabled /> </el-form-item
></el-col>
<el-col :span="8">
<el-form-item label="工艺能力:" prop="platingId">
<el-select
v-model="formData.platingId"
filterable
clearable
@change="bsCraftAbilityChange"
>
<el-option
v-for="item in abilityList"
:key="item.id"
:label="item.caName + '/' + item.caCode"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注:">
<el-input v-model="formData.pasmMemo" type="textarea" style="width: 99%" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item label="附件:">
<!-- <vd-upload
ref="docUpload"
:data="{ theId: formData.trId, theTag: 'PlanAssignSteer', subTag: 'doc' }"
:auto-upload="true"
:size="20"
except="exe"
/> -->
<el-upload
class="upload-demo"
action="/api/blade-resource/oss/endpoint/put-file-attach"
:on-success="handleSuccess"
:on-remove="handleRemove"
multiple
:limit="1"
:on-exceed="handleExceed"
:file-list="fileList"
accept=".pdf,.doc,.docx"
>
<div>
<el-button type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">支持扩展名:.pdf.doc.docx</div>
</div>
</el-upload>
</el-form-item>
</el-row>
<div style="margin-bottom: 12px" v-if="moldAddMore">
<el-button type="primary" @click="addTable">插入一行</el-button>
<el-button type="danger" @click="delTable">删除选中行</el-button>
</div>
<!-- 全局错误提示 -->
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px">
{{ formError }}
</div>
<el-table :data="formData.modifyLst" @select="selectChange" border>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="oemId" align="center" label="供应商">
<template #header>
<span><i style="color: red">*</i>供应商</span>
</template>
<template #default="{ row }"> </template>
</el-table-column>
<el-table-column prop="assignScale" align="center" label="分派比例(%)">
<template #header>
<span><i style="color: red">*</i>分派比例(%)</span>
</template>
<template #default="{ row }">
<el-input-number v-model="row.assignScale" :min="0" :max="100" type="Number" />
</template>
</el-table-column>
</el-table>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
@ -10,31 +98,120 @@
</el-dialog>
</template>
<script>
import { getAbility } from '@/api/basicData/workCenter';
import { update,save } from '@/api/basicData/bsPlanAssignSteerModify';
export default {
props: {
showDialog: {
type: Boolean,
default: false,
},
rowItem:{
rowItem: {
type: Object,
default: {},
},
title:{
title: {
type: String,
default: '新增'
}
default: '新增',
},
moldAddMore: { type: Boolean, default: true },
},
data() {
return {
openShow: false,
formData: {
platingId: null,
pasmMemo: null,
modifyLst: [],
},
rules: {
platingId: [{ required: true, message: '请选择工艺能力', trigger: 'blur' }],
// 1
tableData: [
{
required: true,
message: '请至少添加一行数据',
trigger: 'submit',
type: 'array', //
},
{
validator: (rule, value, callback) => {
if (value.length === 0) {
callback(new Error('请至少添加一行数据'));
} else {
callback();
}
},
trigger: 'submit',
},
],
oemId: [{ required: true, message: '请选择供应商', trigger: 'blur' }],
assignScale: [{ required: true, message: '请填写分派比例', trigger: 'blur' }],
},
formError: '', //
abilityList: [],
fileList: [],
};
},
mounted() {
this.openShow = this.showDialog;
this.getAbilityData();
if(this.title=='修改'){
this.formData = this.rowItem
}
},
methods: {
getAbilityData() {
getAbility().then(res => {
this.abilityList = res.data.data;
});
},
//
bsCraftAbilityChange(idList, item) {
this.query(idList);
},
query(caId) {
// this.$ajax.post('bsPlanAssignSteerModify/queryData/', { 'pasmId': this.trId, 'caId': caId }).then((res) => {
// if (res.code === 0) {
// const { modify, modifyLst } = res.data;
// if (modify != null) {
// this.formData = modify;
// this.bsCraftAbilityOption = [modify.platingId];
// this.docUploadInit();
// }
// if (modifyLst != null) {
// this.fromDataDetails = modifyLst;
// }
// }
// });
},
// push modifyLst
addTable() {
this.formData.modifyLst.push({
_select: false, //
wcId: '', // ID
batchNo: '', // /
preserveContent: '', //
});
},
//
delTable() {
this.formData.modifyLst = this.formData.modifyLst.filter(row => !row._select);
},
handleRemove(file, fileList) {
this.fileList = [];
},
handleSuccess(response, file, fileList) {
console.log(response.data, 'response.data.link');
// this.ruleForm.attachId = response.data.attachId;
this.fileList.push(response.data);
},
handleExceed(files, fileList) {
this.$message.error('标准文件只能上传一份');
},
closeDialog() {
this.openShow = false;
this.$emit('closeDialog');
@ -42,7 +219,9 @@ export default {
submit() {
this.$refs.form.validate(async valid => {
if (valid) {
let params = {
...this.formData,
};
}
});
},

@ -0,0 +1,82 @@
<template>
<el-dialog title="审核" append-to-body :modelValue="openShow" width="30%" @close="closeDialog">
<avue-form ref="form" v-model="form" :option="option"></avue-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</template>
</el-dialog>
</template>
<script>
import { submitApproval } from '@/api/basicData/bsPlanAssignSteerModify';
export default {
props: {
showDialog: {
type: Boolean,
default: false,
},
rowItem: {
type: Object,
default: {},
},
},
data() {
return {
openShow: false,
form: {},
option: {
submitBtn: false,
emptyBtn: false,
column: [
{
label: '审批结果',
prop: 'result',
span: 24,
type: 'radio',
dicData: [
{ label: '通过', value: 0 },
{ label: '不通过', value: 1 },
],
rules: [{ required: true, message: '请选择', trigger: 'blur' }],
},
{
label: '审批意见',
prop: 'remark',
type: 'textarea',
span: 24,
},
],
},
};
},
mounted() {
this.openShow = this.showDialog;
},
methods: {
closeDialog() {
this.openShow = false;
this.$emit('closeDialog');
},
submit() {
this.$refs.form.validate(async valid => {
if (valid) {
// let params = {
// id: this.$route.query.id,
// approvalStatus: '',
// };
// submitApproval(params).then((res) => {
// if (res.code == 200) {
// this.$message.success('');
// this.closeDialog();
// }
// });
}
});
},
},
};
</script>
<style lang="scss" scoped></style>

@ -19,28 +19,72 @@
</template>
<template #menu-right> </template>
<template #menu="{ row }">
<el-button type="text" v-if="permission.assignConfig_record" @click="recordFn(scope.row)"
>记录</el-button
>
<el-button
v-if="scope.row.approvalStatus == 0"
type="text"
@click="addEdit(scope.row.pasmId)"
>修改</el-button
>
<el-button v-if="scope.row.status == 0" type="text" @click="sendApprovalFn(scope.row)"
>发送审批</el-button
>
<el-button v-if="scope.row.approvalStatus == 0" type="text" @click="delRow(scope.row)"
>删除
</el-button>
</template>
</avue-crud>
<!-- 新增和修改 -->
<addEditDialog v-if="openShow" :showDialog="openShow" :title="title" @closeDialog="closeDialog"></addEditDialog>
<addEditDialog
v-if="openShow"
:showDialog="openShow"
:title="title"
@closeDialog="closeDialog"
></addEditDialog>
<!-- 审核 -->
<checkDialog
v-if="checkShow"
:showDialog="checkShow"
:rowItem="rowItem"
@closeDialog="closeDialog"
></checkDialog>
<!-- 记录 -->
<approvalRecord
v-if="approvalShow"
:show-dialog="approvalShow"
:rowData="rowData"
@closeDialog="closeDialog"
></approvalRecord>
</basic-container>
</template>
<script>
import { getList } from '@/api/basicData/bsPlanAssignSteerModify';
import {
getList,
remove,
submitApproval,
auditHistory,
} from '@/api/basicData/bsPlanAssignSteerModify';
import addEditDialog from './addEditDialog.vue';
import approvalRecord from '@/views/approvalRecord/index.vue';
import checkDialog from './checkDialog.vue';
import { mapGetters } from 'vuex';
export default {
components: {
addEditDialog
addEditDialog,
checkDialog,
approvalRecord,
},
computed: {
...mapGetters(['permission']),
},
data() {
return {
approvalShow: false,
checkShow: false,
title: '新增',
openShow: false,
form: {},
@ -59,7 +103,7 @@ export default {
calcHeight: 32,
simplePage: false,
searchShow: true,
searchMenuSpan: 6,
searchMenuSpan: 12,
searchIcon: true,
searchIndex: 3,
tree: false,
@ -72,7 +116,7 @@ export default {
delBtn: false,
editBtnText: '修改',
labelWidth: 120,
menuWidth: 80,
menuWidth: 200,
dialogWidth: 900,
dialogClickModal: false,
searchEnter: true,
@ -96,14 +140,14 @@ export default {
column: [
{
label: '工艺能力',
prop: 'caName',
prop: 'platingName',
search: true,
sortable: true,
span: 12,
},
{
label: '申请人',
prop: 'userName',
prop: 'createManName',
search: false,
sortable: true,
span: 12,
@ -128,46 +172,94 @@ export default {
search: true,
sortable: true,
span: 12,
type: 'select',
dicData: [
{
label: '草稿',
value: 0,
},
{
label: '一级审批中',
value: 1,
},
{
label: '审批通过',
value: 2,
},
{
label: '审批驳回',
value: 3,
},
{
label: '二级审批中',
value: 4,
},
],
},
],
},
data: [],
rowItem:{}
rowItem: {},
rowData: [],
};
},
methods: {
//
addFn(){
this.showDialog = true
this.title = '新增'
addFn() {
this.openShow = true;
this.title = '新增';
},
//
editFn(row) {
this.rowItem = row
this.showDialog = true
this.title = '修改'
this.rowItem = row;
this.openShow = true;
this.title = '修改';
},
closeDialog(){
this.showDialog = false
this.onLoad(this.page,this.query)
sendApprovalFn(row) {
this.$confirm('确定将数据发送审批?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
// submitApproval({ id: row.id }).then(res => {
// this.onLoad(this.page);
// this.$message({
// type: 'success',
// message: '!',
// });
// });
});
},
rowDel(row) {
recordFn(row) {
auditHistory(row.id).then(res => {
this.approvalShow = true;
this.rowData = res.data.data;
console.log(res.data);
});
},
closeDialog() {
this.openShow = false;
this.showDialog = false;
this.checkShow = false;
this.approvalShow = false;
this.onLoad(this.page, this.query);
},
delRow(row) {
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
// return removePersonAbility(row.id);
})
.then(() => {
}).then(() => {
remove({ ids: row.id }).then(res => {
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
});
});
});
},
searchReset() {

Loading…
Cancel
Save