247 行
11 KiB
HTML
可执行文件
247 行
11 KiB
HTML
可执行文件
<!--[1.5.70]-->
|
|
<style>
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
[v-cloak] {
|
|
display: none;
|
|
}
|
|
|
|
.el-input-first {
|
|
width: 400px;
|
|
}
|
|
|
|
.el-input-first > input {
|
|
width: 400px;
|
|
}
|
|
</style>
|
|
<div id="add" v-cloak>
|
|
<el-form label-width="80px" :model="form" :rules="rules" ref="form" id="formSet">
|
|
<input type="hidden" id="id" value="{$id}" name="id">
|
|
<div style="display: flex;">
|
|
<el-form-item label="仓库名称" prop="name">
|
|
<el-input v-model="form.name" name="name" class="el-input-first"></el-input>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-checkbox v-model="form.state" label="默认仓库"></el-checkbox>
|
|
</el-form-item>
|
|
</div>
|
|
<el-form-item label="仓库编号" prop="number">
|
|
<el-input v-model="form.number" placeholder="英文开头建议填写英文加数字(如CK_2501)" name="number"
|
|
class="el-input-first"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="地址" required>
|
|
<el-select name="province" v-model="form.selProvince" size="small" placeholder="省" filterable
|
|
@change="selectProvince(1)">
|
|
<el-option
|
|
v-for="item in form.province"
|
|
:key="item.cityid"
|
|
:label="item.city_name"
|
|
:value="item.cityid">
|
|
</el-option>
|
|
</el-select>
|
|
<el-select name="city" v-model="form.selCity" size="small" placeholder="市" filterable
|
|
@change="selectProvince(2)">
|
|
<el-option
|
|
v-for="item in form.city"
|
|
:key="item.cityid"
|
|
:label="item.city_name"
|
|
:value="item.cityid">
|
|
</el-option>
|
|
</el-select>
|
|
<el-select name="area" v-model="form.selRegion" size="small" placeholder="区" filterable>
|
|
<el-option
|
|
v-for="item in form.area"
|
|
:key="item.cityid"
|
|
:label="item.city_name"
|
|
:value="item.cityid">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="详细地址" prop="address">
|
|
<el-input v-model="form.address" name="address" class="el-input-first"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="仓库面积" prop="measure_area">
|
|
<el-input v-model="form.measure_area" name="measure_area" class="el-input-first" placeholder="㎡"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="负责人" prop="person_name">
|
|
<el-input v-model="form.person_name" name="person_name" class="el-input-first"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="手机号" prop="person_phone">
|
|
<el-input v-model="form.person_phone" name="person_phone" class="el-input-first"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="备注">
|
|
<el-input type="textarea" v-model="form.remarks" name="remarks"></el-input>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<if condition="$authArr['onSubmit'] eq true">
|
|
<el-button type="primary" @click="onSubmit('form')">立即创建</el-button>
|
|
</if>
|
|
</el-form-item>
|
|
</el-form>
|
|
</div>
|
|
<script>
|
|
var add = new Vue({
|
|
el: '#add',
|
|
data: function () {
|
|
return {
|
|
form: {
|
|
name: "{$data['name']}",
|
|
number: "{$data['number']}",
|
|
address: "{$data['address']}",
|
|
measure_area: "{$data['measure_area']}",
|
|
person_name: "{$data['person_name']}",
|
|
person_phone: "{$data['person_phone']}",
|
|
remarks: "{$data['remarks']}",
|
|
selProvince: "{$data['province']}",
|
|
selCity: "{$data['city']}",
|
|
selRegion: "{$data['area']}",
|
|
province: {$prov},
|
|
city: {$city},
|
|
area: {$area},
|
|
state: "{$data['default_state']}" == 1 ? true : false,
|
|
},
|
|
rules: {
|
|
name: [{message: '请输入仓库名称', required: true, trigger: 'change'}],
|
|
number: [{message: '请输入正确的编号', required: true, trigger: 'change'}, {
|
|
validator: function (rule, value, callback) {
|
|
var reg = /^([a-zA-z_]{1})([\w]*)$/;
|
|
if (!reg.test(value)) {
|
|
callback(new Error("请输入正确的编号"));
|
|
} else {
|
|
callback();
|
|
}
|
|
}, trigger: 'change'
|
|
}],
|
|
address: [{message: '请输入仓库地址', required: true, trigger: 'change'}],
|
|
measure_area: [{message: '请输入正确的仓库面积', required: true, trigger: 'change'}, {
|
|
validator: function (rule, value, callback) {
|
|
var reg = /(^[1-9](\d+)?(\.\d{1,2})?$)|(^\d\.\d{1,2}$)/;//面积m2
|
|
if (!reg.test(value)) {
|
|
callback(new Error("请输入正确的仓库面积"));
|
|
} else {
|
|
callback();
|
|
}
|
|
}, trigger: 'change'
|
|
}],
|
|
person_name: [{message: '请输入负责人名称', required: true, trigger: 'change'}],
|
|
person_phone: [{message: '请输入正确的手机号', required: true, trigger: 'change'}, {
|
|
validator: function (rule, value, callback) {
|
|
var reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;//手机号;
|
|
if (!reg.test(value)) {
|
|
callback(new Error("请输入正确的手机号"));
|
|
} else {
|
|
callback();
|
|
}
|
|
}, trigger: 'change'
|
|
}],
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
selectProvince: function (type) {
|
|
var that = this;
|
|
$.post("{:U('getCity')}", {
|
|
pid: type == 1 ? this.form.selProvince : this.form.selCity
|
|
}, function (res) {
|
|
if (res.status == 1) {
|
|
if (type == 1) {
|
|
that.form.selCity = '';
|
|
that.form.selRegion = '';
|
|
that.form.city = res.data;
|
|
that.form.area = [];
|
|
} else {
|
|
that.form.area = res.data;
|
|
that.form.selRegion = '';
|
|
}
|
|
} else {
|
|
that.$message({
|
|
type: 'error',
|
|
massage: res.msg,
|
|
duration: 1000
|
|
})
|
|
}
|
|
})
|
|
},
|
|
onSubmit: function (formName) {
|
|
var that = this;
|
|
that.$refs[formName].validate((valid) => {
|
|
if (valid) {
|
|
if (!that.form.selProvince) {
|
|
that.$message({
|
|
type: "error",
|
|
message: "请完善仓库地址",
|
|
duration: 1000
|
|
})
|
|
return;
|
|
}
|
|
if (!that.form.selCity) {
|
|
that.$message({
|
|
type: "error",
|
|
message: "请完善仓库地址",
|
|
duration: 1000
|
|
})
|
|
return;
|
|
}
|
|
if (!that.form.selRegion) {
|
|
that.$message({
|
|
type: "error",
|
|
message: "请完善仓库地址",
|
|
duration: 1000
|
|
})
|
|
return;
|
|
}
|
|
var formData = new FormData(document.getElementById('formSet'));
|
|
if (that.form.state) {
|
|
that.form.default_state = 1;
|
|
} else {
|
|
that.form.default_state = 0;
|
|
}
|
|
var default_state = JSON.parse(JSON.stringify(that.form.default_state));
|
|
formData.append('default_state', JSON.stringify(default_state));
|
|
var id = $("#id").val();
|
|
$.ajax({
|
|
url: "{:U('addWarehouseOperation')}",
|
|
type: "post",
|
|
data: formData,
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
dataType: "json",
|
|
success: function (res) {
|
|
if (res.status == 1) {
|
|
that.$message({
|
|
type: "success",
|
|
message: res.message,
|
|
duration: 1000,
|
|
onClose: function () {
|
|
warehouse.closeChild();
|
|
warehouse.getData();
|
|
}
|
|
})
|
|
} else {
|
|
that.$message({
|
|
type: "error",
|
|
message: res.message,
|
|
duration: 1000
|
|
})
|
|
}
|
|
}
|
|
})
|
|
} else {
|
|
that.$message({
|
|
type: 'error',
|
|
message: "请完善必填项",
|
|
duration: 1500
|
|
})
|
|
}
|
|
})
|
|
}
|
|
},
|
|
created: function () {
|
|
|
|
}
|
|
});
|
|
</script> |